package cn.iocoder.yudao.module.ems.controller.admin.equipment.vo;

import cn.iocoder.yudao.module.ems.controller.admin.spares.vo.SparesRespVO;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;

@ApiModel("管理后台 - 设备 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class EquipmentRespVO extends EquipmentBaseVO {

    @ApiModelProperty(value = "设备id", required = true)
    private Long id;

    @ApiModelProperty(value = "创建时间", required = true)
    private Date createTime;

    @ApiModelProperty(value = "创建人", required = true)
    private String creator;

    private Supplier Supplier;

    private EqType EqType;

    private Collection<Equipment> parents;

    private Collection<Equipment> sons;


    @ApiModel("类别")
    @Data
    public static class EqType {
        @ApiModelProperty(value = "类别编号", required = true, example = "1")
        private Long id;

        @ApiModelProperty(value = "类别名称", required = true, example = "类别1")
        private String name;
    }

    @ApiModel("供应商")
    @Data
    public static class Supplier {
        @ApiModelProperty(value = "供应商编号", required = true, example = "1")
        private Long id;

        @ApiModelProperty(value = "供应商名称", required = true, example = "供应商1")
        private String name;
    }

    @ApiModel("父设备")
    @Data
    public static class Equipment {
        @ApiModelProperty(value = "设备编号", required = true, example = "1")
        private Long id;

        @ApiModelProperty(value = "设备名称", required = true, example = "设备1")
        private String name;

        @ApiModelProperty(value = "品牌", required = true, example = "设备1")
        private String brand;

        @ApiModelProperty(value = "规格型号", required = true, example = "设备1")
        private String specification;
    }

}
